//给你两个 正 整数 x 和 y ，分别表示价值为 75 和 10 的硬币的数目。 
//
// Alice 和 Bob 正在玩一个游戏。每一轮中，Alice 先进行操作，Bob 后操作。每次操作中，玩家需要拿出价值 总和 为 115 的硬币。如果一名
//玩家无法执行此操作，那么这名玩家 输掉 游戏。 
//
// 两名玩家都采取 最优 策略，请你返回游戏的赢家。 
//
// 
//
// 示例 1： 
//
// 
// 输入：x = 2, y = 7 
// 
//
// 输出："Alice" 
//
// 解释： 
//
// 游戏一次操作后结束： 
//
// 
// Alice 拿走 1 枚价值为 75 的硬币和 4 枚价值为 10 的硬币。 
// 
//
// 示例 2： 
//
// 
// 输入：x = 4, y = 11 
// 
//
// 输出："Bob" 
//
// 解释： 
//
// 游戏 2 次操作后结束： 
//
// 
// Alice 拿走 1 枚价值为 75 的硬币和 4 枚价值为 10 的硬币。 
// Bob 拿走 1 枚价值为 75 的硬币和 4 枚价值为 10 的硬币。 
// 
//
// 
//
// 提示： 
//
// 
// 1 <= x, y <= 100 
// 
//
// Related Topics 数学 博弈 模拟 👍 9 👎 0


package LeetCode.editor.cn;


/**
 * @author ldltd
 * @date 2024-11-05 09:04:22
 * @description 3222.求出硬币游戏的赢家
 
 */
 
public class FindTheWinningPlayerInCoinGame {
    public static void main(String[] args) {
    //测试代码
    FindTheWinningPlayerInCoinGame fun = new FindTheWinningPlayerInCoinGame();
    Solution solution= fun.new Solution();
        System.out.println(9/12);
    }

//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
        /*
        * 115=75+40
        * 所以只有一种拿法
        * x 1 y 4
        * 先看倍数，再看就
        * (y/4)%2=a
        * x%2=b
        * 如果y/4>x
        * */
    public String losingPlayer(int x, int y) {
        if(x>y/4){
           int a=y/4;
           return a%2==0?"Bob":"Alice";
        }
        return x%2==0?"Bob":"Alice";
    }
    public String losingPlayer1(int x, int y) {
        int k = Math.min(x / 2, y / 8);
        x -= k * 2;
        y -= k * 8;
        return x > 0 && y >= 4 ? "Alice" : "Bob";
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}
